#Instala Pacote GeoR
library(geoR)
setwd("C:/Users/Matheus/Desktop/Trabalho de Geoprocessamento/Amostras de Campo")

lucas=read.geodata("Lucas.txt",header=T,coords.col=1:2,data.col=13)
lucas2=read.geodata("lucask.txt",header=T,coords.col=17:18,data.col=11)
lucas3=read.geodata("lucask2.txt",header=T,coords.col=17:18,data.col=11)
luiz=read.geodata("luiz.txt",header=T,coords.col=4:5,data.col=6)

#AED Lucas
summary(lucas$data)
var(lucas$data)
(sqrt(var(lucas$data)))
(sqrt(var(lucas$data))/mean(lucas$data))*100

par(mfrow=c(2,2))
hist(lucas$data,xlab="Volume (m/ha)",ylab="Frequncia",col="grey",main="Histograma")
plot(lucas$coords[,1],lucas$data,main="Variao Longitude",xlab="Longitude",ylab="Volume (m/ha)")
lines(lowess(lucas$coords[,1],lucas$data))
plot(lucas$coords[,2],lucas$data,main="Variao Latitude",xlab="Latitude",ylab="Volume (m/ha)")
lines(lowess(lucas$coords[,2],lucas$data))
boxplot(lucas$data,main="Boxplot",ylab="Volume (m/ha)",col="grey")

par(mfrow=c(1,1))
binlucas=variog(lucas,uvec=25,pairs.min=5,max.dist=3500)
plot(binlucas,main="Semivariograma Volume")

aslucas=eyefit(binlucas)
aslucas

olslucass=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="sph",weig="equal")
olslucase=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="exp",weig="equal")
olslucasg=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="gau",weig="equal")
wlslucass=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="sph")
wlslucase=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="exp")
wlslucasg=variofit(binlucas,ini=c(555.98,1900),nugget=68.57,cov.model="gau")
mllucass=likfit(lucas,ini=c(555.98,1900),nugget=68.57,cov.model="sph")
mllucase=likfit(lucas,ini=c(555.98,1900),nugget=68.57,cov.model="exp")
mllucasg=likfit(lucas,ini=c(555.98,1900),nugget=68.57,cov.model="gau")

par(mfrow=c(3,3))
plot(binlucas,main="Mn. Quad. Ord. - SPH")
lines(olslucass,col="black")
plot(binlucas,main="Mn. Quad. Ord. - EXP")
lines(olslucase,col="black")
plot(binlucas,main="Mn. Quad. Ord. - GAU")
lines(olslucasg,col="black")
plot(binlucas,main="Mn. Quad. Pond. - SPH")
lines(wlslucass,col="black")
plot(binlucas,main="Mn. Quad. Pond. - EXP")
lines(wlslucase,col="black")
plot(binlucas,main="Mn. Quad. Pond. - GAU")
lines(wlslucasg,col="black")
plot(binlucas,main="Mx. Ver. - SPH")
lines(mllucass,col="black")
plot(binlucas,main="Mx. Ver. - EXP")
lines(mllucase,col="black")
plot(binlucas,,main="Mx. Ver. - GAU")
lines(mllucasg,col="black")


xlucass=xvalid(lucas,model=krige.control(cov.model="sph",cov.pars=c(555.98,1900),nugget=68.57))
xlucase=xvalid(lucas,model=krige.control(cov.model="exp",cov.pars=c(555.98,1900),nugget=68.57))
xlucasg=xvalid(lucas,model=krige.control(cov.model="gau",cov.pars=c(555.98,1900),nugget=68.57))
xlucass$erro
xlucase$erro
xlucasg$erro

erroxlucass=(abs((xlucass$data-xlucass$predicted)/xlucass$data))*100
erroxlucase=(abs((xlucase$data-xlucase$predicted)/xlucase$data))*100
erroxlucasg=(abs((xlucasg$data-xlucasg$predicted)/xlucasg$data))*100
erroxlucass
erroxlucase
erroxlucasg

par(mfrow=c(3,2))
plot(xlucass$data,xlucass$error,main="Esfrico",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucass$error,main="Boxplot Esfrico")
plot(xlucase$data,xlucase$error,main="Exponencial",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucase$error,main="Boxplot Exponencial")
plot(xlucasg$data,xlucasg$error,main="Gaussiano",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucasg$error,main="Boxplot Gaussiano")

erroxlucasg
mean(erroxlucass)
mean(erroxlucase)
mean(erroxlucasg)

#AED Lucas2
summary(lucas2$data)
var(lucas2$data)
(sqrt(var(lucas2$data)))
(sqrt(var(lucas2$data))/mean(lucas2$data))*100

par(mfrow=c(2,2))
hist(lucas2$data,xlab="Volume (m/ha)",ylab="Frequncia",col="grey",main="Histograma")
plot(lucas2$coords[,1],lucas2$data,main="Variao Longitude",xlab="Longitude",ylab="Volume (m/ha)")
lines(lowess(lucas2$coords[,1],lucas2$data))
plot(lucas2$coords[,2],lucas2$data,main="Variao Latitude",xlab="Latitude",ylab="Volume (m/ha)")
lines(lowess(lucas2$coords[,2],lucas2$data))
boxplot(lucas2$data,main="Boxplot",ylab="Volume (m/ha)",col="grey")

par(mfrow=c(1,1))
binlucas2=variog(lucas2,uvec=25,pairs.min=5,max.dist=3500)
plot(binlucas2,main="Semivariograma Volume")

aslucas2=eyefit(binlucas2)
aslucas2

olslucas2s=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="sph",weig="equal")
olslucas2e=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="exp",weig="equal")
olslucas2g=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="gau",weig="equal")
wlslucas2s=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="sph")
wlslucas2e=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="exp")
wlslucas2g=variofit(binlucas2,ini=c(500,2000),nugget=70,cov.model="gau")
mllucas2s=likfit(lucas2,ini=c(500,2000),nugget=70,cov.model="sph")
mllucas2e=likfit(lucas2,ini=c(500,2000),nugget=70,cov.model="exp")
mllucas2g=likfit(lucas2,ini=c(500,2000),nugget=70,cov.model="gau")

par(mfrow=c(3,3))
plot(binlucas2,main="Mn. Quad. Ord. - SPH")
lines(olslucas2s,col="black")
plot(binlucas2,main="Mn. Quad. Ord. - EXP")
lines(olslucas2e,col="black")
plot(binlucas2,main="Mn. Quad. Ord. - GAU")
lines(olslucas2g,col="black")
plot(binlucas2,main="Mn. Quad. Pond. - SPH")
lines(wlslucas2s,col="black")
plot(binlucas2,main="Mn. Quad. Pond. - EXP")
lines(wlslucas2e,col="black")
plot(binlucas2,main="Mn. Quad. Pond. - GAU")
lines(wlslucas2g,col="black")
plot(binlucas2,main="Mx. Ver. - SPH")
lines(mllucas2s,col="black")
plot(binlucas2,main="Mx. Ver. - EXP")
lines(mllucas2e,col="black")
plot(binlucas2,,main="Mx. Ver. - GAU")
lines(mllucas2g,col="black")


xlucas2s=xvalid(lucas2,model=krige.control(cov.model="sph",cov.pars=c(500,2000),nugget=70))
xlucas2e=xvalid(lucas2,model=krige.control(cov.model="exp",cov.pars=c(500,2000),nugget=70))
xlucas2g=xvalid(lucas2,model=krige.control(cov.model="gau",cov.pars=c(500,2000),nugget=70))
xlucas2s$erro
xlucas2e$erro
xlucas2g$erro

erroxlucas2s=(abs((xlucas2s$data-xlucas2s$predicted)/xlucas2s$data))*100
erroxlucas2e=(abs((xlucas2e$data-xlucas2e$predicted)/xlucas2e$data))*100
erroxlucas2g=(abs((xlucas2g$data-xlucas2g$predicted)/xlucas2g$data))*100
erroxlucas2s
erroxlucas2e
erroxlucas2g

par(mfrow=c(3,2))
plot(xlucas2s$data,xlucas2s$error,main="Esfrico",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas2s$error,main="Boxplot Esfrico")
plot(xlucas2e$data,xlucas2e$error,main="Exponencial",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas2e$error,main="Boxplot Exponencial")
plot(xlucas2g$data,xlucas2g$error,main="Gaussiano",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas2g$error,main="Boxplot Gaussiano")

erroxlucas2g
mean(erroxlucas2s)
mean(erroxlucas2e)
mean(erroxlucas2g)

#AED Lucas3
summary(lucas3$data)
var(lucas3$data)
(sqrt(var(lucas3$data)))
(sqrt(var(lucas3$data))/mean(lucas3$data))*100

par(mfrow=c(2,2))
hist(lucas3$data,xlab="Volume (m/ha)",ylab="Frequncia",col="grey",main="Histograma")
plot(lucas3$coords[,1],lucas3$data,main="Variao Longitude",xlab="Longitude",ylab="Volume (m/ha)")
lines(lowess(lucas3$coords[,1],lucas3$data))
plot(lucas3$coords[,2],lucas3$data,main="Variao Latitude",xlab="Latitude",ylab="Volume (m/ha)")
lines(lowess(lucas3$coords[,2],lucas3$data))
boxplot(lucas3$data,main="Boxplot",ylab="Volume (m/ha)",col="grey")

par(mfrow=c(1,1))
binlucas3=variog(lucas3,uvec=25,pairs.min=5,max.dist=3500)
plot(binlucas3,main="Semivariograma Volume")

aslucas3=eyefit(binlucas3)
aslucas3

olslucas3s=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="sph",weig="equal")
olslucas3e=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="exp",weig="equal")
olslucas3g=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="gau",weig="equal")
wlslucas3s=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="sph")
wlslucas3e=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="exp")
wlslucas3g=variofit(binlucas3,ini=c(620,2450),nugget=70,cov.model="gau")
mllucas3s=likfit(lucas3,ini=c(620,2450),nugget=70,cov.model="sph")
mllucas3e=likfit(lucas3,ini=c(620,2450),nugget=70,cov.model="exp")
mllucas3g=likfit(lucas3,ini=c(620,2450),nugget=70,cov.model="gau")

par(mfrow=c(3,3))
plot(binlucas3,main="Mn. Quad. Ord. - SPH")
lines(olslucas3s,col="black")
plot(binlucas3,main="Mn. Quad. Ord. - EXP")
lines(olslucas3e,col="black")
plot(binlucas3,main="Mn. Quad. Ord. - GAU")
lines(olslucas3g,col="black")
plot(binlucas3,main="Mn. Quad. Pond. - SPH")
lines(wlslucas3s,col="black")
plot(binlucas3,main="Mn. Quad. Pond. - EXP")
lines(wlslucas3e,col="black")
plot(binlucas3,main="Mn. Quad. Pond. - GAU")
lines(wlslucas3g,col="black")
plot(binlucas3,main="Mx. Ver. - SPH")
lines(mllucas3s,col="black")
plot(binlucas3,main="Mx. Ver. - EXP")
lines(mllucas3e,col="black")
plot(binlucas3,,main="Mx. Ver. - GAU")
lines(mllucas3g,col="black")


xlucas3s=xvalid(lucas3,model=krige.control(cov.model="sph",cov.pars=c(620,2450),nugget=70))
xlucas3e=xvalid(lucas3,model=krige.control(cov.model="exp",cov.pars=c(620,2450),nugget=70))
xlucas3g=xvalid(lucas3,model=krige.control(cov.model="gau",cov.pars=c(620,2450),nugget=70))
xlucas3s$erro
xlucas3e$erro
xlucas3g$erro

erroxlucas3s=(abs((xlucas3s$data-xlucas3s$predicted)/xlucas3s$data))*100
erroxlucas3e=(abs((xlucas3e$data-xlucas3e$predicted)/xlucas3e$data))*100
erroxlucas3g=(abs((xlucas3g$data-xlucas3g$predicted)/xlucas3g$data))*100
erroxlucas3s
erroxlucas3e
erroxlucas3g

par(mfrow=c(3,2))
plot(xlucas3s$data,xlucas3s$error,main="Esfrico",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas3s$error,main="Boxplot Esfrico")
plot(xlucas3e$data,xlucas3e$error,main="Exponencial",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas3e$error,main="Boxplot Exponencial")
plot(xlucas3g$data,xlucas3g$error,main="Gaussiano",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xlucas3g$error,main="Boxplot Gaussiano")

erroxlucas3g
mean(erroxlucas3s)
mean(erroxlucas3e)
mean(erroxlucas3g)

#AED Luiz
summary(luiz$data)
var(luiz$data)
(sqrt(var(luiz$data)))
(sqrt(var(luiz$data))/mean(luiz$data))*100

par(mfrow=c(2,2))
hist(luiz$data,xlab="Volume (m/ha)",ylab="Frequncia",col="grey",main="Histograma")
plot(luiz$coords[,1],luiz$data,main="Variao Longitude",xlab="Longitude",ylab="Volume (m/ha)")
lines(lowess(luiz$coords[,1],luiz$data))
plot(luiz$coords[,2],luiz$data,main="Variao Latitude",xlab="Latitude",ylab="Volume (m/ha)")
lines(lowess(luiz$coords[,2],luiz$data))
boxplot(luiz$data,main="Boxplot",ylab="Volume (m/ha)",col="grey")

par(mfrow=c(1,1))
binluiz=variog(luiz,uvec=30,pairs.min=6,max.dist=3500)
plot(binluiz,main="Semivariograma Volume")

asluiz=eyefit(binluiz)
asluiz

olsluizs=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="sph",weig="equal")
olsluize=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="exp",weig="equal")
olsluizg=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="gau",weig="equal")
wlsluizs=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="sph")
wlsluize=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="exp")
wlsluizg=variofit(binluiz,ini=c(1150,2200),nugget=105,cov.model="gau")
mlluizs=likfit(luiz,ini=c(1150,2200),nugget=105,cov.model="sph")
mlluize=likfit(luiz,ini=c(1150,2200),nugget=105,cov.model="exp")
mlluizg=likfit(luiz,ini=c(1150,2200),nugget=105,cov.model="gau")

par(mfrow=c(3,3))
plot(binluiz,main="Mn. Quad. Ord. - SPH")
lines(olsluizs,col="black")
plot(binluiz,main="Mn. Quad. Ord. - EXP")
lines(olsluize,col="black")
plot(binluiz,main="Mn. Quad. Ord. - GAU")
lines(olsluizg,col="black")
plot(binluiz,main="Mn. Quad. Pond. - SPH")
lines(wlsluizs,col="black")
plot(binluiz,main="Mn. Quad. Pond. - EXP")
lines(wlsluize,col="black")
plot(binluiz,main="Mn. Quad. Pond. - GAU")
lines(wlsluizg,col="black")
plot(binluiz,main="Mx. Ver. - SPH")
lines(mlluizs,col="black")
plot(binluiz,main="Mx. Ver. - EXP")
lines(mlluize,col="black")
plot(binluiz,,main="Mx. Ver. - GAU")
lines(mlluizg,col="black")


xluizs=xvalid(luiz,model=krige.control(cov.model="sph",cov.pars=c(1150,2200),nugget=105))
xluize=xvalid(luiz,model=krige.control(cov.model="exp",cov.pars=c(1150,2200),nugget=105))
xluizg=xvalid(luiz,model=krige.control(cov.model="gau",cov.pars=c(1150,2200),nugget=105))
xluizs$erro
xluize$erro
xluizg$erro

erroxluizs=(abs((xluizs$data-xluizs$predicted)/xluizs$data))*100
erroxluize=(abs((xluize$data-xluize$predicted)/xluize$data))*100
erroxluizg=(abs((xluizg$data-xluizg$predicted)/xluizg$data))*100
erroxluizs
erroxluize
erroxluizg

par(mfrow=c(3,2))
plot(xluizs$data,xluizs$error,main="Esfrico",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xluizs$error,main="Boxplot Esfrico")
plot(xluize$data,xluize$error,main="Exponencial",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xluize$error,main="Boxplot Exponencial")
plot(xluizg$data,xluizg$error,main="Gaussiano",xlab="Erro",ylab="Volume (m/ha)")
abline(h=0)
boxplot(xluizg$error,main="Boxplot Gaussiano")

erroxluizg
mean(erroxluizs)
mean(erroxluize)
mean(erroxluizg)